home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C++ / Applications / Nuntius 1.2 / src / Nuntius / UProgress.h < prev    next >
Encoding:
Text File  |  1994-03-06  |  1.9 KB  |  80 lines  |  [TEXT/MPS ]

  1. // Copyright © 1992 Peter Speck, speck@dat.ruc.dk. All rights reserved.
  2. // UProgress.h
  3.  
  4. #define __UPROGRESS__
  5.  
  6. class TProgressMeterView;
  7. class TStaticText;
  8. class TProgressMeterBehavior;
  9. class TProgressAbortButton;
  10.  
  11. const long kCandyStribes = 0;
  12. class TThread;
  13.  
  14. class TProgress : public TEventHandler 
  15. {
  16.     public:
  17.         void SetStandardProgressType();
  18.         void SetProgressType(Boolean modal, Boolean twoLineWindow);
  19.  
  20.         Boolean SetAbortDisable(Boolean disableAbort);
  21.          // reset with SetProgressWindowType, returns old state, cannot fail
  22.         
  23.         void StartProgress(Boolean windowToFront);
  24.         void SetWorkToDo(long todo);// uses stribes if (todo == kCandyStribes)
  25.         // work here
  26.         void WorkDone(); // hides window, cannot fail
  27.         
  28.         void Worked(long delta = 0); // Does Failure(0, 0) if aborting
  29.         long GetWork();
  30.         void SetWorkDone(long work);
  31.         long GetWorkDone();
  32.         Boolean IsWorking();
  33.         
  34.         void Abort();
  35.         
  36.         TWindow *GetWindow();
  37.         void SetUpperText(const CStr255 &msg);
  38.         void SetUpperText(short id);
  39.  
  40.         void SetLowerText(const CStr255 &msg);
  41.         void SetLowerText(short id);
  42.  
  43.         void SetText(short id); // upper if one line, lower if two line
  44.         void SetText(const CStr255 &msg);
  45.         void ClearTexts();
  46.         
  47.         void SetTitle(const CStr255 &title);
  48.         void SetTitle(short id);
  49.         
  50.         pascal Boolean DoIdle(IdlePhase phase);
  51.         void SetThread(TThread *thread = nil);
  52.  
  53.         TProgress();
  54.         pascal void Initialize();
  55.         void IProgress();
  56.         pascal void Free();
  57.     protected:
  58.         TThread *fThread;
  59.         TWindow *fWindow;
  60.         TDialogBehavior *fDialogBehavior;
  61.         TProgressMeterView *fProgressMeterView;
  62.         TStaticText *fUpperText;
  63.         TStaticText *fLowerText;
  64.         TProgressAbortButton *fAbortButton;
  65.         long fLastWorkTick;
  66.         Boolean fIsWorking;
  67.         Boolean fIsModal;
  68.         Boolean fIsTwoLine;
  69.         Boolean fCoHandlerInstalled;
  70.         Boolean fIsCandy;
  71.         Boolean fAbortIsDisabled;
  72.  
  73.         void CreateNewWindow();
  74.         void UpdateCandyState();
  75.         void InstallIdleUpdating();
  76.         void RemoveIdleUpdating();
  77. };
  78.  
  79. extern TProgress *gCurProgress; // see TThread
  80.